/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicaNegocio.Controlador;

import AccesoDatos.Persistencia.Manager.ManagerRecomendacion;
import AccesoDatos.Persistencia.Manager.ManagerUsuario;
import GUI.Bibliotecario.AdminPedidos.PanelRealizarRecomendacion;
import LogicaNegocio.Biblioteca.Recomendacion;
import LogicaNegocio.Usuarios.Docente;
import LogicaNegocio.Validacion.VBiblioteca;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JOptionPane;

/**
 * Esta clase en java permite el control de eventos
 * para registrar las recomendaciones realizadas.
 *
 * @author sebaxtian
 * Archivo: ControlRealizarRecomendacion.java
 * @version 1.0
 * Fecha: mar jun  8 16:29:04 COT 2010
 */


public class ControlRealizarRecomendacion {

    //Atributos de clase.
    private PanelRealizarRecomendacion panelRealizarRecomendacion;
    private ManagerRecomendacion gestorRecomendacion;

    public ControlRealizarRecomendacion(PanelRealizarRecomendacion panelRealizarRecomendacion) {
        this.panelRealizarRecomendacion = panelRealizarRecomendacion;
        gestorRecomendacion = new ManagerRecomendacion();
    }

    public void registrarRecomendacion() {
        int identificacionUsuario = -1;
        String edicion = "";
        String editorial = "";
        String titulo = "";
        Date fecha = Calendar.getInstance().getTime();
        Docente docente;
        Recomendacion recomendacion;
        try{
            identificacionUsuario = Integer.parseInt(panelRealizarRecomendacion.textFieldCedula.getText());
            edicion = panelRealizarRecomendacion.textFieldEdicion.getText();
            editorial = panelRealizarRecomendacion.textFieldEditorial.getText();
            titulo = panelRealizarRecomendacion.textFieldTitulo.getText();
            docente = new ManagerUsuario().obtenerDocente(identificacionUsuario);
            if(docente != null){
                recomendacion = new Recomendacion();
                recomendacion.setIdentificacionDocente(identificacionUsuario);
                recomendacion.setEdicion(edicion);
                recomendacion.setEditorial(editorial);
                recomendacion.setTitulo(titulo);
                recomendacion.setFechaRecomendacion(fecha);
                new VBiblioteca(recomendacion);
                gestorRecomendacion.crearRecomendacion(recomendacion);
                JOptionPane.showMessageDialog(panelRealizarRecomendacion, "La recomendacion fue registrada con exito", "Recomendacion", JOptionPane.INFORMATION_MESSAGE);
                limpiar();
            }else{
                JOptionPane.showMessageDialog(panelRealizarRecomendacion, "El docente con cedula: "+identificacionUsuario+" no esta registrado en el sistema", "Recomendacion", JOptionPane.INFORMATION_MESSAGE);
            }
        } catch (VBiblioteca ex) {
            JOptionPane.showMessageDialog(panelRealizarRecomendacion, ex.getMessage(), "Recomendacion", JOptionPane.ERROR_MESSAGE);
        }catch(NumberFormatException exc) {
            JOptionPane.showMessageDialog(panelRealizarRecomendacion, "El numero de cedula debe ser un valor entero", "Recomendacion", JOptionPane.INFORMATION_MESSAGE);
        }
    }

    public void limpiar() {
        panelRealizarRecomendacion.textFieldCedula.setText("");
        panelRealizarRecomendacion.textFieldEdicion.setText("");
        panelRealizarRecomendacion.textFieldEditorial.setText("");
        panelRealizarRecomendacion.textFieldTitulo.setText("");
    }
}
